home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d15
/
infop141.arc
/
EXTERNS.PAS
next >
Wrap
Pascal/Delphi Source File
|
1990-12-07
|
2KB
|
105 lines
unit externs;
{$A-,B-,D-,E-,F-,L-,N-,O-,R-,S-,V-}
interface
uses Crt, Dos;
type
cpu_info_t = record
cpu_type : byte;
MSW : word;
GDT : array[1..6] of byte;
IDT : array[1..6] of byte;
intflag : boolean;
ndp_type : byte;
ndp_cw : word;
weitek: byte;
test_type: char
end;
var
mono: boolean;
procedure CPUID(var a: cpu_info_t);
function diskread(drive: byte; starting_sector: longint;
number_of_sectors: word; var buffer): word;
procedure longcall(addr: longint; var regs: registers);
function ATIinfo(data_in: byte; register: word): byte;
procedure AltIntr(intno: byte; var regs: registers);
procedure AltMsDos(var regs: registers);
function CTICK: byte;
function TsengCK: byte;
function ZyMOSCK: byte;
function CirrusCK: byte;
procedure TextColor(color: byte);
procedure TextBackground(color: byte);
implementation
{$L INFOPLUS}
{$F+}
procedure CPUID(var a: cpu_info_t); external;
function diskread(drive: byte; starting_sector: longint;
number_of_sectors: word; var buffer): word; external;
procedure longcall(addr: longint; var regs: registers); external;
function ATIinfo(data_in: byte; register: word): byte; external;
procedure AltIntr(intno: byte; var regs: registers); external;
procedure AltMsDos(var regs: registers); external;
function CTICK: byte; external;
function TsengCK: byte; external;
function ZyMOSCK: byte; external;
function CirrusCK: byte; external;
{$F-}
{These first two procedures filter the color commands to allow Black&White}
procedure TextColor(color: byte);
var
temp: byte;
begin
if mono then
begin
case (color and $0F) of
0: temp:=0;
1..7: temp:=7;
8..15: temp:=15
end;
if color > 15 then
temp:=temp + Blink;
end
else
temp:=color;
Crt.TextColor(temp)
end; {TextColor}
procedure TextBackground(color: byte);
var
temp: byte;
begin
temp:=color;
if mono and (color < 7) then
temp:=0;
Crt.TextBackground(temp);
end; {TextBackground}
end.